In computing, internationalization and localization are means of adapting computer software to different languages, regional differences and technical requirements of a target market or locale. Internationalization is the process of designing a software application so that it can potentially be adapted to various languages and regions without engineering changes. Localization is the process of adapting internationalized software for a specific region or language by adding locale-specific components and translating text. Localization (which is potentially performed multiple times, for different locales) uses the infrastructure or flexibility provided by internationalization (which is ideally performed only once, or as an integral part of ongoing development).
Modern enterprise applications may be designed and developed as cloud applications in a platform-as-a-service (PaaS) environment. In a traditional internationalization solution for a cloud application, “default” translatable texts are stored in text files that can be used to integrate the default translatable texts into the cloud application under development. A data object is a self-contained entity that includes both data and procedures to manipulate the data. The default translatable texts may, for example, include text (e.g., currency=“Dollars”, or currency=“Euros”) that is visually displayed when data objects (e.g., business objects, tables, reports, views, UI elements, etc.) of the cloud application are displayed, for example, locally on a user interface (UI). A translation specialist may enhance the default translatable texts, for example, by correcting them and adding translations into new languages. The default translatable text files may be included in the “internationalized” cloud application as delivered to a customer who has no direct interactions in setting up or creating the default translatable text files.
The foregoing traditional internationalization solution does not address the customer's specific needs for localization or customization of the cloud application. Such customer-specific customization needs may, for example, include a need to modify the default translatable texts to a specific vocabulary used in the customer's organization; a need to create, modify, or delete data objects along with the corresponding translatable texts; a need to change the translatable texts for data objects created by the customer as well as translatable texts for data objects delivered with the application; and a need to transport translatable texts from one instance of the computer application to another instance.
Consideration is now being given to internationalization solutions for cloud application development in the PaaS environments, keeping in view customer-specific needs for localization and customization of the cloud application.